Each node has a list of attributes with different types. The
attributes are used like plain data members of the node class, but
in case of attributes, mudbox will be able to get a list of all the
attributes in a node, and for example it will be possible so simply
display a dialog to the used where it is possible to check and
alter the value of the variables.
|
Public Types
|
enum |
AttributeType {
typeUnknown, typeInt,
typeFloat, typeBool,
typeString, typePointer,
typeColor, typeVector,
typeEnum, typeWatch
} |
|
Type of the attribute. More...
|
Public Member Functions
|
unsigned int |
TargetCount (void)
const |
|
Returns the number of attributes currently
linked to this attribute as target.
|
Attribute
* |
Target (unsigned int
iIndex) const |
|
Returns the target with the given index. If
iIndex is greater than the number of targets, returns 0;.
|
Attribute
* |
Source (void) |
|
Returns the source attribute, or 0 if there
is no source.
|
bool |
operator== (const
Attribute
&cAttribute) const |
|
This is a special operator, it does NOT
compare the value of the attribute. See Node::OnNodeEvent for details.
|
bool |
operator!= (const
Attribute
&cAttribute) const |
|
This is a special operator, it does NOT
compare the value of the attribute. See Node::OnNodeEvent for details.
|
virtual AttributeType |
Type (void) const |
|
Returns the type of the attribute.
|
QString |
ID (void) const |
|
Returns the unique ID (within this node) of
the attribute.
|
QString |
Name (void) const |
|
Returns the name of the attribute.
|
void |
SetName (const QString
&sName) |
|
Sets the name of the attribute.
|
QString |
Category (void) const |
|
Returns the category of the attribute.
|
void |
SetCategory (const
QString &sCategory, bool bSeparator=false) |
|
Sets the category of the attribute. This
value will be used in the user interface to determine which
attribute group to be used.
|
bool |
Separator (void)
const |
|
Returns the separator state of the widget.
|
void |
SetSeparator (bool
bSeparator) |
|
Call this with true to display a separator
line below this widget.
|
bool |
Const (void) const |
|
Gets the constant status of the attribute.
Default value is false. If this is set to true the attribute will
not be editable by the user on the interface.
|
void |
SetConst (bool
bConst) |
|
Sets the constant status of the attribute.
Default value is false. If this is set to true the attribute will
not be editable by the user on the interface.
|
bool |
Visible (void) const |
|
Returns true if the property is visible.
|
void |
SetVisible (bool
bVisible) |
|
Sets the visible status of the property.
|
QString |
ToolTip (void) const |
|
Gets the tooltip text to be used on the user
interface, this is optional.
|
void |
SetToolTip (const QString
&sToolTip) |
|
Sets the tooltip text to be used on the user
interface, this is optional.
|
unsigned int |
Size (void) const |
|
Returns the size of the attribute value in
bytes.
|
float |
LabelWidth (void)
const |
|
Returns the width of label relative to the
full width of the line.
|
void |
SetLabelWidth (float
fLabelWidth) |
|
Set the width of label.
|
int |
Index (void) const |
|
Returns the attribute index;.
|
void |
SetIndex (int
iIndex) |
|
Sets the attribute index;.
|
Node
* |
Owner (void) const |
|
Gets the address of the Node which contains this attribute.
|
virtual void |
Serialize (Stream &s) |
|
Serialize the value of the attribute into a
stream.
|
virtual QString |
AsString (void)
const |
|
Returns the value of the attribute as a
string. See also SetFromString.
|
virtual void |
SetFromString (const
QString &sValue) |
|
Sets the value of the attribute as a string.
See also AsString.
|
virtual |
~Attribute (void) |
virtual void |
StartEvent (NodeEventType cType) const |
void |
SetOwner (Node *pOwner) |
|
This function sets the owner of the
attribute. The owner receives all events for this attribute.
|
virtual AttributeWidget
* |
CreateEditorWidget
(QWidget *pParent, int iWidth) |
|
This function creates and returns the
address of a QWidget object.
|
void |
LogTargets (void) |
|
Log all targets (for debug purposes).
|
|
These functions are related to creating
dependent connections between attributes.
When a source attribute value changes, the target attribute
value will change also.
|
void |
ClearTargets (void) |
|
Removes all outgoing connections from the
attribute.
|
void |
ClearSource (void) |
|
Removes the incoming connection for this
attribute.
|
virtual void |
AddTarget (Attribute
&cTarget) |
|
Adds a new outgoing connection for this node
to pTarget.
|
void |
Connect (Attribute
&cSource) |
|
Connect this attribute to another one.
|
virtual void |
UpdateTargets
(void) |
|
Update the values of all the connected
target attributes with the current value. Used internally only, do
not call this directly.
|
|
These functions are intended for use only
with AttributePointer.
|
virtual const ClassDesc * |
TargetType (void)
const |
|
This is valid only for pointer attributes
(See AttributePointer).
Returns the type of the pointer.
|
virtual void |
SetPointerValue
(Node *pValue,
bool bLink=true) |
|
This is valid only for pointer attributes
(See AttributePointer).
Sets the value of the pointer. This function is used only if you
dont know exactly the type of the attribute. Use AttributePointer::SetValue
otherwise.
|
virtual Node
* |
PointerValue (void)
const |
|
This is valid only for pointer attributes
(See AttributePointer).
Gets the value of the pointer. This function is used only if you
dont know exactly the type of the attribute. Use AttributePointer::Value
otherwise.
|
virtual bool |
ValidatePointerValue
(const Node
*pValue) |
|
Validate a possible value for the pointer,
returns true if the value is acceptable.
|
|
These functions allow you to query or modify
the parameters associated with an attribute.
Returns the number of parameters assigned to this
attribute.
|
virtual unsigned int |
ParameterCount (void)
const |
virtual QString |
ParameterName (unsigned
int iIndex) const |
|
Returns the name of a parameter with a given
index.
|
virtual QString |
ParameterValue (unsigned
int iIndex) const |
|
Returns the value of parameter with a given
index.
|
virtual void |
SetParameterValue (const
QString &sName, const QString &sValue) |
|
Set the value of a parameter.
|
Protected Member Functions
|
|
Attribute (Node *pOwner, const QString
&sID) |
|
Attribute (Node *pOwner, bool
bInstall) |
void |
Uninstall (void) |
Protected Attributes
|
int |
m_iSize |
Attribute
* |
m_pSource |
Attribute
* |
m_pNext |
Store<
Attribute
* > |
m_aTargets |
Node
* |
m_pNode |
QString |
m_sName |
bool |
m_bSeparator |
QString |
m_sCategory |
QString |
m_sToolTip |
float |
m_fLabelWidth |
bool |
m_bConst |
bool |
m_bVisible |
int |
m_iIndex |
QString |
m_sID |
Friends
|
class |
Node |